//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') / new Object());
write(new String('he' + 'llo') / new Object());
write(new String('he' + 'llo') / [1, 2, 3]);
write(new String('he' + 'llo') / [1 ,2 , 3]);
write(new String('he' + 'llo') / new Array(3));
write(new String('he' + 'llo') / Array(3));
write(new String('he' + 'llo') / new Array(1 ,2 ,3));
write(new String('he' + 'llo') / Array(1));
write(new String('he' + 'llo') / foo);
write(new Object() / undefined);
write(new Object() / null);
write(new Object() / true);
write(new Object() / false);
write(new Object() / Boolean(true));
write(new Object() / Boolean(false));
write(new Object() / new Boolean(true));
write(new Object() / new Boolean(false));
write(new Object() / NaN);
write(new Object() / +0);
write(new Object() / -0);
write(new Object() / 0);
write(new Object() / 0.0);
write(new Object() / -0.0);
write(new Object() / +0.0);
write(new Object() / 1);
write(new Object() / 10);
write(new Object() / 10.0);
write(new Object() / 10.1);
write(new Object() / -1);
write(new Object() / -10);
write(new Object() / -10.0);
write(new Object() / -10.1);
write(new Object() / Number.MAX_VALUE);
write(new Object() / Number.MIN_VALUE);
write(new Object() / Number.NaN);
write(new Object() / Number.POSITIVE_INFINITY);
write(new Object() / Number.NEGATIVE_INFINITY);
write(new Object() / new Number(NaN));
write(new Object() / new Number(+0));
write(new Object() / new Number(-0));
write(new Object() / new Number(0));
write(new Object() / new Number(0.0));
write(new Object() / new Number(-0.0));
write(new Object() / new Number(+0.0));
write(new Object() / new Number(1));
write(new Object() / new Number(10));
write(new Object() / new Number(10.0));
write(new Object() / new Number(10.1));
write(new Object() / new Number(-1));
write(new Object() / new Number(-10));
write(new Object() / new Number(-10.0));
write(new Object() / new Number(-10.1));
write(new Object() / new Number(Number.MAX_VALUE));
write(new Object() / new Number(Number.MIN_VALUE));
write(new Object() / new Number(Number.NaN));
write(new Object() / new Number(Number.POSITIVE_INFINITY));
write(new Object() / new Number(Number.NEGATIVE_INFINITY));
write(new Object() / '');
write(new Object() / 0xa);
write(new Object() / 04);
write(new Object() / 'hello');
write(new Object() / 'hel' + 'lo');
write(new Object() / String(''));
write(new Object() / String('hello'));
write(new Object() / String('h' + 'ello'));
write(new Object() / new String(''));
write(new Object() / new String('hello'));
write(new Object() / new String('he' + 'llo'));
write(new Object() / new Object());
write(new Object() / new Object());
write(new Object() / [1, 2, 3]);
write(new Object() / [1 ,2 , 3]);
write(new Object() / new Array(3));
write(new Object() / Array(3));
write(new Object() / new Array(1 ,2 ,3));
write(new Object() / Array(1));
write(new Object() / foo);
write(new Object() / undefined);
write(new Object() / null);
write(new Object() / true);
write(new Object() / false);
write(new Object() / Boolean(true));
write(new Object() / Boolean(false));
write(new Object() / new Boolean(true));
write(new Object() / new Boolean(false));
write(new Object() / NaN);
write(new Object() / +0);
write(new Object() / -0);
write(new Object() / 0);
write(new Object() / 0.0);
write(new Object() / -0.0);
write(new Object() / +0.0);
write(new Object() / 1);
write(new Object() / 10);
write(new Object() / 10.0);
write(new Object() / 10.1);
write(new Object() / -1);
write(new Object() / -10);
write(new Object() / -10.0);
write(new Object() / -10.1);
write(new Object() / Number.MAX_VALUE);
write(new Object() / Number.MIN_VALUE);
write(new Object() / Number.NaN);
write(new Object() / Number.POSITIVE_INFINITY);
write(new Object() / Number.NEGATIVE_INFINITY);
write(new Object() / new Number(NaN));
write(new Object() / new Number(+0));
write(new Object() / new Number(-0));
write(new Object() / new Number(0));
write(new Object() / new Number(0.0));
write(new Object() / new Number(-0.0));
write(new Object() / new Number(+0.0));
write(new Object() / new Number(1));
write(new Object() / new Number(10));
write(new Object() / new Number(10.0));
write(new Object() / new Number(10.1));
write(new Object() / new Number(-1));
write(new Object() / new Number(-10));
write(new Object() / new Number(-10.0));
write(new Object() / new Number(-10.1));
write(new Object() / new Number(Number.MAX_VALUE));
write(new Object() / new Number(Number.MIN_VALUE));
write(new Object() / new Number(Number.NaN));
write(new Object() / new Number(Number.POSITIVE_INFINITY));
write(new Object() / new Number(Number.NEGATIVE_INFINITY));
write(new Object() / '');
write(new Object() / 0xa);
write(new Object() / 04);
write(new Object() / 'hello');
write(new Object() / 'hel' + 'lo');
write(new Object() / String(''));
write(new Object() / String('hello'));
write(new Object() / String('h' + 'ello'));
write(new Object() / new String(''));
write(new Object() / new String('hello'));
write(new Object() / new String('he' + 'llo'));
write(new Object() / new Object());
write(new Object() / new Object());
write(new Object() / [1, 2, 3]);
write(new Object() / [1 ,2 , 3]);
write(new Object() / new Array(3));
write(new Object() / Array(3));
write(new Object() / new Array(1 ,2 ,3));
write(new Object() / Array(1));
write(new Object() / foo);
write([1, 2, 3] / undefined);
write([1, 2, 3] / null);
write([1, 2, 3] / true);
write([1, 2, 3] / false);
write([1, 2, 3] / Boolean(true));
write([1, 2, 3] / Boolean(false));
write([1, 2, 3] / new Boolean(true));
write([1, 2, 3] / new Boolean(false));
write([1, 2, 3] / NaN);
write([1, 2, 3] / +0);
write([1, 2, 3] / -0);
write([1, 2, 3] / 0);
write([1, 2, 3] / 0.0);
write([1, 2, 3] / -0.0);
write([1, 2, 3] / +0.0);
write([1, 2, 3] / 1);
write([1, 2, 3] / 10);
write([1, 2, 3] / 10.0);
write([1, 2, 3] / 10.1);
write([1, 2, 3] / -1);
write([1, 2, 3] / -10);
write([1, 2, 3] / -10.0);
write([1, 2, 3] / -10.1);
write([1, 2, 3] / Number.MAX_VALUE);
write([1, 2, 3] / Number.MIN_VALUE);
write([1, 2, 3] / Number.NaN);
write([1, 2, 3] / Number.POSITIVE_INFINITY);
write([1, 2, 3] / Number.NEGATIVE_INFINITY);
write([1, 2, 3] / new Number(NaN));
write([1, 2, 3] / new Number(+0));
write([1, 2, 3] / new Number(-0));
write([1, 2, 3] / new Number(0));
write([1, 2, 3] / new Number(0.0));
write([1, 2, 3] / new Number(-0.0));
write([1, 2, 3] / new Number(+0.0));
write([1, 2, 3] / new Number(1));
write([1, 2, 3] / new Number(10));
write([1, 2, 3] / new Number(10.0));
write([1, 2, 3] / new Number(10.1));
write([1, 2, 3] / new Number(-1));
write([1, 2, 3] / new Number(-10));
write([1, 2, 3] / new Number(-10.0));
write([1, 2, 3] / new Number(-10.1));
write([1, 2, 3] / new Number(Number.MAX_VALUE));
write([1, 2, 3] / new Number(Number.MIN_VALUE));
write([1, 2, 3] / new Number(Number.NaN));
write([1, 2, 3] / new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] / new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] / '');
write([1, 2, 3] / 0xa);
write([1, 2, 3] / 04);
write([1, 2, 3] / 'hello');
write([1, 2, 3] / 'hel' + 'lo');
write([1, 2, 3] / String(''));
write([1, 2, 3] / String('hello'));
write([1, 2, 3] / String('h' + 'ello'));
write([1, 2, 3] / new String(''));
write([1, 2, 3] / new String('hello'));
write([1, 2, 3] / new String('he' + 'llo'));
write([1, 2, 3] / new Object());
write([1, 2, 3] / new Object());
write([1, 2, 3] / [1, 2, 3]);
write([1, 2, 3] / [1 ,2 , 3]);
write([1, 2, 3] / new Array(3));
write([1, 2, 3] / Array(3));
write([1, 2, 3] / new Array(1 ,2 ,3));
write([1, 2, 3] / Array(1));
write([1, 2, 3] / foo);
write([1 ,2 , 3] / undefined);
write([1 ,2 , 3] / null);
write([1 ,2 , 3] / true);
write([1 ,2 , 3] / false);
write([1 ,2 , 3] / Boolean(true));
write([1 ,2 , 3] / Boolean(false));
write([1 ,2 , 3] / new Boolean(true));
write([1 ,2 , 3] / new Boolean(false));
write([1 ,2 , 3] / NaN);
write([1 ,2 , 3] / +0);
write([1 ,2 , 3] / -0);
write([1 ,2 , 3] / 0);
write([1 ,2 , 3] / 0.0);
write([1 ,2 , 3] / -0.0);
write([1 ,2 , 3] / +0.0);
write([1 ,2 , 3] / 1);
write([1 ,2 , 3] / 10);
write([1 ,2 , 3] / 10.0);
write([1 ,2 , 3] / 10.1);
write([1 ,2 , 3] / -1);
write([1 ,2 , 3] / -10);
write([1 ,2 , 3] / -10.0);
write([1 ,2 , 3] / -10.1);
write([1 ,2 , 3] / Number.MAX_VALUE);
write([1 ,2 , 3] / Number.MIN_VALUE);
write([1 ,2 , 3] / Number.NaN);
write([1 ,2 , 3] / Number.POSITIVE_INFINITY);
write([1 ,2 , 3] / Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] / new Number(NaN));
write([1 ,2 , 3] / new Number(+0));
write([1 ,2 , 3] / new Number(-0));
write([1 ,2 , 3] / new Number(0));
write([1 ,2 , 3] / new Number(0.0));
write([1 ,2 , 3] / new Number(-0.0));
write([1 ,2 , 3] / new Number(+0.0));
write([1 ,2 , 3] / new Number(1));
write([1 ,2 , 3] / new Number(10));
write([1 ,2 , 3] / new Number(10.0));
write([1 ,2 , 3] / new Number(10.1));
write([1 ,2 , 3] / new Number(-1));
write([1 ,2 , 3] / new Number(-10));
write([1 ,2 , 3] / new Number(-10.0));
write([1 ,2 , 3] / new Number(-10.1));
write([1 ,2 , 3] / new Number(Number.MAX_VALUE));
write([1 ,2 , 3] / new Number(Number.MIN_VALUE));
write([1 ,2 , 3] / new Number(Number.NaN));
write([1 ,2 , 3] / new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] / new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] / '');
write([1 ,2 , 3] / 0xa);
write([1 ,2 , 3] / 04);
write([1 ,2 , 3] / 'hello');
write([1 ,2 , 3] / 'hel' + 'lo');
write([1 ,2 , 3] / String(''));
write([1 ,2 , 3] / String('hello'));
write([1 ,2 , 3] / String('h' + 'ello'));
write([1 ,2 , 3] / new String(''));
write([1 ,2 , 3] / new String('hello'));
write([1 ,2 , 3] / new String('he' + 'llo'));
write([1 ,2 , 3] / new Object());
write([1 ,2 , 3] / new Object());
write([1 ,2 , 3] / [1, 2, 3]);
write([1 ,2 , 3] / [1 ,2 , 3]);
write([1 ,2 , 3] / new Array(3));
write([1 ,2 , 3] / Array(3));
write([1 ,2 , 3] / new Array(1 ,2 ,3));
write([1 ,2 , 3] / Array(1));
write([1 ,2 , 3] / foo);
write(new Array(3) / undefined);
write(new Array(3) / null);
write(new Array(3) / true);
write(new Array(3) / false);
write(new Array(3) / Boolean(true));
write(new Array(3) / Boolean(false));
write(new Array(3) / new Boolean(true));
write(new Array(3) / new Boolean(false));
write(new Array(3) / NaN);
write(new Array(3) / +0);
write(new Array(3) / -0);
write(new Array(3) / 0);
write(new Array(3) / 0.0);
write(new Array(3) / -0.0);
write(new Array(3) / +0.0);
write(new Array(3) / 1);
write(new Array(3) / 10);
write(new Array(3) / 10.0);
write(new Array(3) / 10.1);
write(new Array(3) / -1);
write(new Array(3) / -10);
write(new Array(3) / -10.0);
write(new Array(3) / -10.1);
write(new Array(3) / Number.MAX_VALUE);
write(new Array(3) / Number.MIN_VALUE);
write(new Array(3) / Number.NaN);
write(new Array(3) / Number.POSITIVE_INFINITY);
write(new Array(3) / Number.NEGATIVE_INFINITY);
write(new Array(3) / new Number(NaN));
write(new Array(3) / new Number(+0));
write(new Array(3) / new Number(-0));
write(new Array(3) / new Number(0));
write(new Array(3) / new Number(0.0));
write(new Array(3) / new Number(-0.0));
write(new Array(3) / new Number(+0.0));
write(new Array(3) / new Number(1));
write(new Array(3) / new Number(10));
write(new Array(3) / new Number(10.0));
write(new Array(3) / new Number(10.1));
write(new Array(3) / new Number(-1));
write(new Array(3) / new Number(-10));
write(new Array(3) / new Number(-10.0));
write(new Array(3) / new Number(-10.1));
write(new Array(3) / new Number(Number.MAX_VALUE));
write(new Array(3) / new Number(Number.MIN_VALUE));
write(new Array(3) / new Number(Number.NaN));
write(new Array(3) / new Number(Number.POSITIVE_INFINITY));
write(new Array(3) / new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) / '');
write(new Array(3) / 0xa);
write(new Array(3) / 04);
write(new Array(3) / 'hello');
write(new Array(3) / 'hel' + 'lo');
write(new Array(3) / String(''));
write(new Array(3) / String('hello'));
write(new Array(3) / String('h' + 'ello'));
write(new Array(3) / new String(''));
write(new Array(3) / new String('hello'));
write(new Array(3) / new String('he' + 'llo'));
write(new Array(3) / new Object());
write(new Array(3) / new Object());
write(new Array(3) / [1, 2, 3]);
write(new Array(3) / [1 ,2 , 3]);
write(new Array(3) / new Array(3));
write(new Array(3) / Array(3));
write(new Array(3) / new Array(1 ,2 ,3));
write(new Array(3) / Array(1));
write(new Array(3) / foo);
write(Array(3) / undefined);
write(Array(3) / null);
write(Array(3) / true);
write(Array(3) / false);
write(Array(3) / Boolean(true));
write(Array(3) / Boolean(false));
write(Array(3) / new Boolean(true));
write(Array(3) / new Boolean(false));
write(Array(3) / NaN);
write(Array(3) / +0);
write(Array(3) / -0);
write(Array(3) / 0);
write(Array(3) / 0.0);
write(Array(3) / -0.0);
write(Array(3) / +0.0);
write(Array(3) / 1);
write(Array(3) / 10);
write(Array(3) / 10.0);
write(Array(3) / 10.1);
write(Array(3) / -1);
write(Array(3) / -10);
write(Array(3) / -10.0);
write(Array(3) / -10.1);
write(Array(3) / Number.MAX_VALUE);
write(Array(3) / Number.MIN_VALUE);
write(Array(3) / Number.NaN);
write(Array(3) / Number.POSITIVE_INFINITY);
write(Array(3) / Number.NEGATIVE_INFINITY);
write(Array(3) / new Number(NaN));
write(Array(3) / new Number(+0));
write(Array(3) / new Number(-0));
write(Array(3) / new Number(0));
write(Array(3) / new Number(0.0));
write(Array(3) / new Number(-0.0));
write(Array(3) / new Number(+0.0));
write(Array(3) / new Number(1));
write(Array(3) / new Number(10));
write(Array(3) / new Number(10.0));
write(Array(3) / new Number(10.1));
write(Array(3) / new Number(-1));
write(Array(3) / new Number(-10));
write(Array(3) / new Number(-10.0));
write(Array(3) / new Number(-10.1));
write(Array(3) / new Number(Number.MAX_VALUE));
write(Array(3) / new Number(Number.MIN_VALUE));
write(Array(3) / new Number(Number.NaN));
write(Array(3) / new Number(Number.POSITIVE_INFINITY));
write(Array(3) / new Number(Number.NEGATIVE_INFINITY));
write(Array(3) / '');
write(Array(3) / 0xa);
write(Array(3) / 04);
write(Array(3) / 'hello');
write(Array(3) / 'hel' + 'lo');
write(Array(3) / String(''));
write(Array(3) / String('hello'));
write(Array(3) / String('h' + 'ello'));
write(Array(3) / new String(''));
write(Array(3) / new String('hello'));
write(Array(3) / new String('he' + 'llo'));
write(Array(3) / new Object());
write(Array(3) / new Object());
write(Array(3) / [1, 2, 3]);
write(Array(3) / [1 ,2 , 3]);
write(Array(3) / new Array(3));
write(Array(3) / Array(3));
write(Array(3) / new Array(1 ,2 ,3));
write(Array(3) / Array(1));
write(Array(3) / foo);
write(new Array(1 ,2 ,3) / undefined);
write(new Array(1 ,2 ,3) / null);
write(new Array(1 ,2 ,3) / true);
write(new Array(1 ,2 ,3) / false);
write(new Array(1 ,2 ,3) / Boolean(true));
write(new Array(1 ,2 ,3) / Boolean(false));
write(new Array(1 ,2 ,3) / new Boolean(true));
write(new Array(1 ,2 ,3) / new Boolean(false));
write(new Array(1 ,2 ,3) / NaN);
write(new Array(1 ,2 ,3) / +0);
write(new Array(1 ,2 ,3) / -0);
write(new Array(1 ,2 ,3) / 0);
write(new Array(1 ,2 ,3) / 0.0);
write(new Array(1 ,2 ,3) / -0.0);
write(new Array(1 ,2 ,3) / +0.0);
write(new Array(1 ,2 ,3) / 1);
write(new Array(1 ,2 ,3) / 10);
write(new Array(1 ,2 ,3) / 10.0);
write(new Array(1 ,2 ,3) / 10.1);
write(new Array(1 ,2 ,3) / -1);
write(new Array(1 ,2 ,3) / -10);
write(new Array(1 ,2 ,3) / -10.0);
write(new Array(1 ,2 ,3) / -10.1);
write(new Array(1 ,2 ,3) / Number.MAX_VALUE);
write(new Array(1 ,2 ,3) / Number.MIN_VALUE);
write(new Array(1 ,2 ,3) / Number.NaN);
write(new Array(1 ,2 ,3) / Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) / Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) / new Number(NaN));
write(new Array(1 ,2 ,3) / new Number(+0));
write(new Array(1 ,2 ,3) / new Number(-0));
write(new Array(1 ,2 ,3) / new Number(0));
write(new Array(1 ,2 ,3) / new Number(0.0));
write(new Array(1 ,2 ,3) / new Number(-0.0));
write(new Array(1 ,2 ,3) / new Number(+0.0));
write(new Array(1 ,2 ,3) / new Number(1));
write(new Array(1 ,2 ,3) / new Number(10));
write(new Array(1 ,2 ,3) / new Number(10.0));
write(new Array(1 ,2 ,3) / new Number(10.1));
write(new Array(1 ,2 ,3) / new Number(-1));
write(new Array(1 ,2 ,3) / new Number(-10));
write(new Array(1 ,2 ,3) / new Number(-10.0));
write(new Array(1 ,2 ,3) / new Number(-10.1));
write(new Array(1 ,2 ,3) / new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) / new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) / new Number(Number.NaN));
write(new Array(1 ,2 ,3) / new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) / new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) / '');
write(new Array(1 ,2 ,3) / 0xa);
write(new Array(1 ,2 ,3) / 04);
write(new Array(1 ,2 ,3) / 'hello');
write(new Array(1 ,2 ,3) / 'hel' + 'lo');
write(new Array(1 ,2 ,3) / String(''));
write(new Array(1 ,2 ,3) / String('hello'));
write(new Array(1 ,2 ,3) / String('h' + 'ello'));
write(new Array(1 ,2 ,3) / new String(''));
write(new Array(1 ,2 ,3) / new String('hello'));
write(new Array(1 ,2 ,3) / new String('he' + 'llo'));
write(new Array(1 ,2 ,3) / new Object());
write(new Array(1 ,2 ,3) / new Object());
write(new Array(1 ,2 ,3) / [1, 2, 3]);
write(new Array(1 ,2 ,3) / [1 ,2 , 3]);
write(new Array(1 ,2 ,3) / new Array(3));
write(new Array(1 ,2 ,3) / Array(3));
write(new Array(1 ,2 ,3) / new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) / Array(1));
write(new Array(1 ,2 ,3) / foo);
write(Array(1) / undefined);
write(Array(1) / null);
write(Array(1) / true);
write(Array(1) / false);
write(Array(1) / Boolean(true));
write(Array(1) / Boolean(false));
write(Array(1) / new Boolean(true));
write(Array(1) / new Boolean(false));
write(Array(1) / NaN);
write(Array(1) / +0);
write(Array(1) / -0);
write(Array(1) / 0);
write(Array(1) / 0.0);
write(Array(1) / -0.0);
write(Array(1) / +0.0);
write(Array(1) / 1);
write(Array(1) / 10);
write(Array(1) / 10.0);
write(Array(1) / 10.1);
write(Array(1) / -1);
write(Array(1) / -10);
write(Array(1) / -10.0);
write(Array(1) / -10.1);
write(Array(1) / Number.MAX_VALUE);
write(Array(1) / Number.MIN_VALUE);
write(Array(1) / Number.NaN);
write(Array(1) / Number.POSITIVE_INFINITY);
write(Array(1) / Number.NEGATIVE_INFINITY);
write(Array(1) / new Number(NaN));
write(Array(1) / new Number(+0));
write(Array(1) / new Number(-0));
write(Array(1) / new Number(0));
write(Array(1) / new Number(0.0));
write(Array(1) / new Number(-0.0));
write(Array(1) / new Number(+0.0));
write(Array(1) / new Number(1));
write(Array(1) / new Number(10));
write(Array(1) / new Number(10.0));
write(Array(1) / new Number(10.1));
write(Array(1) / new Number(-1));
write(Array(1) / new Number(-10));
write(Array(1) / new Number(-10.0));
write(Array(1) / new Number(-10.1));
write(Array(1) / new Number(Number.MAX_VALUE));
write(Array(1) / new Number(Number.MIN_VALUE));
write(Array(1) / new Number(Number.NaN));
write(Array(1) / new Number(Number.POSITIVE_INFINITY));
write(Array(1) / new Number(Number.NEGATIVE_INFINITY));
write(Array(1) / '');
write(Array(1) / 0xa);
write(Array(1) / 04);
write(Array(1) / 'hello');
write(Array(1) / 'hel' + 'lo');
write(Array(1) / String(''));
write(Array(1) / String('hello'));
write(Array(1) / String('h' + 'ello'));
write(Array(1) / new String(''));
write(Array(1) / new String('hello'));
write(Array(1) / new String('he' + 'llo'));
write(Array(1) / new Object());
write(Array(1) / new Object());
write(Array(1) / [1, 2, 3]);
write(Array(1) / [1 ,2 , 3]);
write(Array(1) / new Array(3));
write(Array(1) / Array(3));
write(Array(1) / new Array(1 ,2 ,3));
write(Array(1) / Array(1));
write(Array(1) / foo);
write(foo / undefined);
write(foo / null);
write(foo / true);
write(foo / false);
write(foo / Boolean(true));
write(foo / Boolean(false));
write(foo / new Boolean(true));
write(foo / new Boolean(false));
write(foo / NaN);
write(foo / +0);
write(foo / -0);
write(foo / 0);
write(foo / 0.0);
write(foo / -0.0);
write(foo / +0.0);
write(foo / 1);
write(foo / 10);
write(foo / 10.0);
write(foo / 10.1);
write(foo / -1);
write(foo / -10);
write(foo / -10.0);
write(foo / -10.1);
write(foo / Number.MAX_VALUE);
write(foo / Number.MIN_VALUE);
write(foo / Number.NaN);
write(foo / Number.POSITIVE_INFINITY);
write(foo / Number.NEGATIVE_INFINITY);
write(foo / new Number(NaN));
write(foo / new Number(+0));
write(foo / new Number(-0));
write(foo / new Number(0));
write(foo / new Number(0.0));
write(foo / new Number(-0.0));
write(foo / new Number(+0.0));
write(foo / new Number(1));
write(foo / new Number(10));
write(foo / new Number(10.0));
write(foo / new Number(10.1));
write(foo / new Number(-1));
write(foo / new Number(-10));
write(foo / new Number(-10.0));
write(foo / new Number(-10.1));
write(foo / new Number(Number.MAX_VALUE));
write(foo / new Number(Number.MIN_VALUE));
write(foo / new Number(Number.NaN));
write(foo / new Number(Number.POSITIVE_INFINITY));
write(foo / new Number(Number.NEGATIVE_INFINITY));
write(foo / '');
write(foo / 0xa);
write(foo / 04);
write(foo / 'hello');
write(foo / 'hel' + 'lo');
write(foo / String(''));
write(foo / String('hello'));
write(foo / String('h' + 'ello'));
write(foo / new String(''));
write(foo / new String('hello'));
write(foo / new String('he' + 'llo'));
write(foo / new Object());
write(foo / new Object());
write(foo / [1, 2, 3]);
write(foo / [1 ,2 , 3]);
write(foo / new Array(3));
write(foo / Array(3));
write(foo / new Array(1 ,2 ,3));
write(foo / Array(1));
write(foo / foo);
